package han;

public class J11Exception {
	//예외처리
	public static void main(String[] args) {
		/*System.out.println("이글이보이나요!");
		//오류System.out.println(100/0);
		System.out.println("이글도보이나요!");
		int i[] = new int[10];
		for(int j =1;j<=10;++j){
		//ㅇ류	System.out.println(i[j]);
		}*/
		
		
		System.out.println("이글이보이나요!");
		try{
		System.out.println(100/0);
		}catch(ArithmeticException ae){
			ae.printStackTrace();
			ae.toString();
			System.out.println("0으로 나누면 안되요");
		}
		System.out.println("이글도보이나요!");
		int i[] = new int[10];
		for(int j =1;j<=10;++j){
			try{
		System.out.println(i[j]);
			}catch(ArrayIndexOutOfBoundsException aiobe){
				System.out.println("배열 인덱스 초과.");
			}
			
		}
		//다중 catch문 사용
		try{
			System.out.println(100/0);
			System.out.println(i[100]);
		}catch(ArithmeticException ae){
			//오류메세지 띠우고 다음 프로그램 실행 
			System.out.println("0으로나누면안되요");
		}catch(ArrayIndexOutOfBoundsException aiobe){
		System.out.println("배열 인덱스 초기화");
		}
		//모든 예외의 조상 - Exception
		try{
			System.out.println("시작");
			System.out.println(100/0);
			System.out.println(i[500]);
			System.out.println("끄~읏");
			
		}catch(Exception ex){
			//프로그램 중단이 되고 오류메세지
			ex.printStackTrace();
			System.out.println("치명적인 오류가 발생");
		}
	}

}
